<?php
// 记录一些常用的方法
namespace app\controller;

use app\BaseController;

// session类引入
use think\facade\Session;

// 日志类引入
use think\facade\Log;

class Utils extends BaseController
{
	// 日志写入
	public function log_write(){
		// 方法名
		$requestName = request()->action();
		// 方法参数
		$requestParams = request()->param();
		
		// 写入自定义配置日志
		Log::channel('custom')->error([
			 'request_name' => $requestName,
			 'request_params' => json_encode($requestParams),
			 'message' => 'This is an error message for the request.'
		 ]);
		 // 获取请求类上下文
		 $method = __METHOD__;
		 dump($method);
	}
	
	// 写入session
	public function set_session(){
		return Session::set('name','writ session');
	}
	
	// 获取session
	public function get_session(){
		return Session::get('name');
	}
	
	// 清除session
	public function clear_session(){
		Session::clear();
	}
	
	// 时间格式化
	public function timer(){
		$timestamp = 1635426487; // 例如，从数据库中获取的时间戳
		
		// 格式化时间戳为特定格式
		$formattedDate = date('Y-m-d H:i:s', $timestamp);
		
		// 输出格式化后的时间
		echo $formattedDate;
		echo time();
	}
	
	// 写入文件
	public function file_writ(){
		$directory = 'runtime'; // 指定保存文件的目录
		$filename = $directory . '/内容.txt'; // 文件的完整路径
		$fileContent = '这是文件的内容。'; // 要写入文件的内容
		
		// 检查目录是否存在，如果不存在则创建它
		if (!is_dir($directory)) {
		    mkdir($directory, 0777, true);
		}
		
		// 尝试写入文件
		if (file_put_contents($filename, $fileContent) !== false) {
		    echo "文件已成功保存在 $filename";
		} else {
		    echo "无法保存文件";
		}
	}
	
}
